GMRC
Domaine de l’intelligence artificielle
Consiste à entraîner des modèles informatiques à effectuer des tâches sans avoir été explicitement programmés pour les accomplir
Les modèles peuvent s’améliorer au fil du temps en apprenant à partir de données
Exemple : Traduction automatique Reconnaissance vocale…
décrire et comprendre les phénomènes à partir de données
hypothetico-déductive (part d’hypothèses et utilise des tests statistiques pour les vérifier)
données souvent de taille limitée et structurées
modèles simples et faciles à comprendre
prédire les résultats futurs à partir de données passées
inductive (part de données et essaie de déduire les règles sous-jacentes)
peut être utilisé avec des données de grande taille et non structurées
modèles complexes et difficiles à interpréter (réseaux de neurones, arbres de décision)
\[\hat{y} = f(x, \theta)\]
où \(x\) est l’entrée, \(\theta\) sont les paramètres du modèle et \(\hat{y}\) est la valeur prédite par le modèle pour l’entrée \(x\).
Objectifs : Trouver les valeurs optimales de \(\theta\) qui minimisent l’erreur entre les valeurs prédites et valeurs réelles.
Découvrir une structure au sein d’un ensemble d’individus caractérisés par des covariables X
Label est inconnu
\[\hat{y} = f(x, \theta)\]
où \(x\) est l’entrée, \(\theta\) sont les paramètres du modèle et \(\hat{y}\) est la valeur prédite par le modèle pour l’entrée \(x\).
Objectifs : trouver des structures ou des patterns dans les données qui peuvent être utilisés pour effectuer des tâches utiles
Les paramètres du modèle sont mis à jour en utilisant une fonction de coût et une méthode d’optimisation afin de trouver des structures ou des patterns dans les données
\[Y=X\cdot\theta + \epsilon\]
On cherche \(\hat{\theta} = \binom{\hat{a}}{\hat{b}}\) où \(\hat{y} = \hat{a}\cdot x+\hat{b}\) pour que \(\hat{y}\) soit le plus proche de \(y\)
Fonction a minimiser pour trouver la meilleure solution
Utilisée pour les tâches de régression
Formule: \[MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2\]
Simple à calculer et à interpréter, mais sensible aux outliers et peu robuste face à la skewness des données
Utilisée pour les tâches de régression
Formule: \[MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|\]
Moins sensible aux outliers que le MSE, mais moins intuitive à interpréter
Utilisée pour les tâches de régression
Formule: \[RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}\]
racine carrée de l’erreur quadratique moyenne (MSE)
Utilisée pour les tâches de classification
Formule: \[Err_{class} = \frac{n_{erreurs}}{n}\]
Simple à calculer, mais ne prend pas en compte la probabilité des prédictions
# Chargement des données d'entraînement
train <- read.csv("train.csv")
X_train <- train[,1] # variables explicatives
y_train <- train[,2] # variable à prédire
# Entraînement du modèle de régression linéaire
model <- lm(y_train ~ X_train)
# Prédiction sur les données d'entraînement
y_pred <- predict(model, X_train)
# Calcul de l'erreur quadratique moyenne
mse <- mean((y_train - y_pred)^2)
# Affichage de l'erreur
print(mse)# Set the seed for the random number generator to the value 45
set.seed(45)
# Generate a random sample of 100 elements from the rows of the 'data_tot' data frame, without replacement
sample_train <- sample(1:dim(data_tot)[1], 100, replace = F)
# Subset the 'data_tot' data frame to select only the rows in the random sample
data <- data_tot[sample_train,]# Fit a linear regression model to the data with 'hospital_los_day' as the dependent variable and 'sapsi_first' as the independent variable
fit1 <- lm(hospital_los_day ~ sapsi_first, data = data)
# Print a summary of the fitted model
summary(fit1)
Call:
lm(formula = hospital_los_day ~ sapsi_first, data = data)
Residuals:
Min 1Q Median 3Q Max
-8.354 -5.782 -2.486 2.186 53.259
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.0248 3.4826 2.304 0.0233 *
sapsi_first 0.1226 0.2234 0.549 0.5844
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 9.061 on 98 degrees of freedom
Multiple R-squared: 0.003063, Adjusted R-squared: -0.00711
F-statistic: 0.3011 on 1 and 98 DF, p-value: 0.5844
\[y_i \in {0, 1}\]
\[\hat{y} = f(X)\]
Fonction de seuil nécessaire pour revenir sur 0,1
ex : \(\hat{y} \geq 0.5\) classe 1 et \(\hat{y} < 0.5\) classe 0
évaluation de l’algo par \[y_i \neq \hat{y}_i\]
| y = 1 | y = 0 | |
|---|---|---|
| y_pred = 1 | TP | FP |
| y_pred = 0 | FN | TN |
| y = 1 | y = 0 | |
|---|---|---|
| y_pred = 1 | TP | FP |
| y_pred = 0 | FN | TN |
\[\text{Sensibilité} = \frac{TP}{TP + FN}\]
détecter correctement les exemples positifs
utiles quand exemples positifs sont rares
| y = 1 | y = 0 | |
|---|---|---|
| y_pred = 1 | TP | FP |
| y_pred = 0 | FN | TN |
\[\text{Spécificité} = \frac{TN}{TN + FP}\]
détecter correctement les exemples négatifs
| y = 1 | y = 0 | |
|---|---|---|
| y_pred = 1 | TP | FP |
| y_pred = 0 | FN | TN |
\[\text{Précision} = \frac{TP}{TP + FP}\]
prédire correctement la classe positive
| y = 1 | y = 0 | |
|---|---|---|
| y_pred = 1 | TP | FP |
| y_pred = 0 | FN | TN |
\[\text{VPN} = \frac{TN}{TN + FN}\]
prédire correctement la classe négative
| y = 1 | y = 0 | |
|---|---|---|
| y_pred = 1 | TP | FP |
| y_pred = 0 | FN | TN |
\[\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}\]
prédire correctement la classe de chaque exemple
utile lorsque les classes sont équilibrées
performance du classifieur en fonction du seuil de décision
sensibilité et spécificité à chaque seuil
AUC : aire sous la courbe
Mesure agrégée de performance
AUC = 1 modèle parfait
AUC = 0,5 modèle équivalent à choisir au hasard
Average Precision recall Curve
précision et rappel
Mieux pour les classifications non équilibrées
\[\text{F1 Score} = 2\times\frac{\text{Précision}\times\text{Sensibilité}}{\text{Précision}+\text{Sensibilité}}\]
Master Intelligence des données de santé / UE Technique
Comment on fait pour entrainer :
On trace une ligne, on mesure la qualité de la ligne tracé, on modifie la ligne pour améliorer ça qualité et on répète